import java.math.BigDecimal;
import java.util.Scanner;

public class day230419 {
    // 进制转换
    // 十六进制转十进制
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            char[] s = in.nextLine().toCharArray();
            int ret = 0;
            for (int i = 2; i < s.length; i++) {
                if (Character.isDigit(s[i])) {
                    ret += (s[i] - 48) * Math.pow(16, s.length - i - 1);
                } else {
                    ret += (s[i] - 55) * Math.pow(16, s.length - i - 1);
                }
            }
            System.out.println(ret);
        }
    }

    // 三角形
    public static void main2(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            BigDecimal a = new BigDecimal(sc.next());
            BigDecimal b = new BigDecimal(sc.next());
            BigDecimal c = new BigDecimal(sc.next());
            if (a.add(b).compareTo(c) > 0
                    && b.add(c).compareTo(a) > 0
                    && a.add(c).compareTo(b) > 0) {
                System.out.println("Yes");
            } else {
                System.out.println("No");
            }
        }
    }

    // 不用加减乘除的加法
    public int Add(int num1,int num2) {
        while (true) {
            // 异或, 不考虑进位的情况, 会把两个数的二进制位加起来, 但是产生进位的地方为0
            // 001110
            // 101000
            // 100110
            int sum = num1 ^ num2;
            // 考虑进位, 如果不为0, 就是产生进位
            // 001110
            // 101000
            // 001000
            // 会记录产生进位的地方
            int tmp = num1 & num2;

            if (tmp == 0) {
                // 为0, 没有进位, 直接返回
                return sum;
            } else {
                // 不为0, 有进位
                // 将没考虑进位的 sum 给 num1
                // 将进位的位置左移一位, 给num2
                // 重复上述步骤
                num1 = sum;
                num2 = tmp << 1;
            }
        }
    }
}
